//
//  OperationSync.m
//  OperationQueueDemo
//
//  Created by 苏沫离 on 2018/8/9.
//  Copyright © 2018年 苏沫离. All rights reserved.
//

#import "OperationSync.h"

@implementation OperationSync

@synthesize completionBlock = _completionBlock;

- (void)main
{
    //该自动释放池可以防止相关线程发生内存泄漏
    @autoreleasepool{
        //使用  try-catch 语句防止出现超出这个线程范围的异常情况
        @try{
            //检查操作是否被取消,在取消操作时尽可能快地退出
            if (self.isCancelled == NO) {
                NSLog(@"耗时任务执行中 ------- %@",NSThread.currentThread);
                [NSThread sleepForTimeInterval:3];//模拟耗时任务
                if (_completionBlock){
                    self.completionBlock();
                }
            }

        }@catch (NSException *exception){}
    }
}

@end
